package design_pattern.chain.demo01;

import java.util.Objects;

/**
 * @version 1.0.0
 * Created by cyd on 2022-06-16 14:18:55
 * @ClassName : design_pattern.chain.demo01.ConcreteHandler
 * @Description : 具体的处理器类，处理请求，并访问后继者
 */
public class ConcreteHandler03 extends Handler {

    /**
     * 处理请求的实现
     *
     * @param request 对请求的模拟
     *                request在21-30之间时，处理请求，否则交给下一个处理器
     */
    @Override
    public void handleRequest(int request) {
        if (request > 20 && request <= 30) {
            System.out.println(this.getClass().toString() + " 处理请求 " + request);
        } else if (!Objects.isNull(successor)) {
            // 否则交给下一个处理器
            successor.handleRequest(request);
        }
    }
}
